草庐IT

XSLT 教程

全部标签

xml - 如何使用带有属性值的 xslt 作为选择器?

我正在尝试学习xslt,我正在处理一个看起来像这样的xml。123341226466554412334122我目前的目标是只打印出内部标签内的数字。但我不能使用标签的名称作为选择器,因为只有属性“类型”很重要。我尝试使用以下xslt。但它似乎没有用。Test我做错了什么?我无法弄清楚的另一件事是如何在使用属性作为选择器时获取标签的名称。而不是它给出了标签内的内容;我可以使用什么来获取包含此“type=box”属性的标签的名称?(例如,Usages、NonUsages等。) 最佳答案 此转换旨在仅对您的原始转换提供必要的更正:Test

xml - 使用 XSLT 删除第一个 <p> 标签

我正在尝试使用XSLT将多项选择题类型的QTI标准xml转换为XHTML文件。我发现很难从“simpleChoice”标签值中删除第一个“p”标签。以下是我试图转换为XHTML的QTIChoiceA0SelectthecorrectoptionsQuestionwillappearhereanswer'sfirstPtaganswer'ssecondPtaganswer'sthirdPtaganswer'sforthPtagandtextwithoutptaganswer'sfirstPtaganswer'ssecondPtaganswer'sthirdPtaganswer'sfort

xml - 使用 XSLT 进行简单的 XML 重构

我是XSLT的新手,我正在尝试实现一个相当简单的重组。我有一个代表一个人的xml文档(用于说明目的)。我在person下有很多元素。我想从这些元素中提取first_name和last_name(以及重要的其他元素)到一个新的full_name元素中。我看过这个问题here.“renameWrapped”方法有效。但是它不够通用,因为我不能保证输入文档中元素的顺序。我有以下XML:somevaluejohnsmithsomevalue这由以下xsl转换:然而,这给了我以下输出,其中myname:Person被复制:somevaluesomevaluejohnsmith我做错了什么?在此先

xml - XSLT - "/."有什么作用?

我是XSLT的新手,所以这个问题可能有点傻。有人可以向我解释一下这是怎么回事吗?我有一个简单的XML文档(仅用于测试目的)及其样式表。我不明白为什么处理所有后续节点。我测试了“/”。XPath中的表达式,它只选择名为child的节点.此外,如果我替换/.与.它给出了预期的结果(仅输出名为child的节点的值)。catalogtitletextchildBobDylanUSAColumbia1985secondtitletextsecondchildBobDylan2USA2Columbia2样式表:结果:titletextcatalogtitletextchildBobDylanUSA

xml - Camel xml 到 xml 转换 xslt 仍然是可行的方法吗?

在我的最后一个camel项目中,我使用xslt将传入的xml转换为适合发送到第三方Web服务的xml格式。这很好用。这仍然被认为是xml到xml映射的最佳方法,还是有你们会推荐的更好、性能更高的工具?我个人不介意xslt,但我组织中其他开发人员的反馈是他们发现它难以阅读和维护,尤其是在转换相当复杂的情况下。他们说的有道理。我正在考虑的一种替代方法是编码为java对象并在解码回xml之前进行转换。这具有通过转换器对象更容易设置和维护的好处。然而,我担心实现此目标所需的操作数量对性能的影响。对你的想法感兴趣。非常感谢 最佳答案 虽然我同

xml - 具有同名节点的 xml 的 XSLT 转换

我有一个这种格式的XML,EmpireBurlesqueHideyourheartGreatestHitsStillgotthebluesErosOnenightonly此XML的XSLT是,Title我希望输出看起来像,标题帝国滑稽戏隐藏你的心精选集还是忧郁爱神仅一晚当我尝试转换上述XML时,我得到一个空表,但其中没有标题。请帮助我,以便我可以获得如上所示的预期输出。提前致谢。 最佳答案 您的解决方案中只有一个小缺陷。请参阅我在以下代码中的评论:Title 关于xml-具有同名节点的x

xml - XSLT:处理所有后续兄弟直到满足特定条件而无需重新处理已处理的节点

考虑以下XML结构:abcignore123ignore4def我需要获取属性值为start和end的a标签之间的所有a标签的内容总和。我尝试使用以下XSL:所需的输出是:abc1234def我得到的输出是:abc12341234def如何避免重新处理已由getMergedText模板处理的a节点?提前致谢!注意:我正在使用XSLT1.0。XML中可以有多个开始-结束节点对的实例,在这些对之前、之后和之间可以有任意数量的节点。 最佳答案 这里最有效的方法可能是我听说过的被描述为“兄弟递归”的方法,使用尾递归模板来模拟“while循环

xml - XSLT 处理器如何找到匹配的模板?

例如,考虑以下XML:bingo!假设我们有两个模板:match="level2"和match="level1/level2"。当解析器到达level2节点时,它如何确定当前节点与两个模板匹配,并且必须选择第二个模板,因为它更具体?“更具体”模板的正式定义是什么? 最佳答案 我同意FiveO的观点,这是一个duplicatequestion,但话又说回来,你还问规范foo之间有什么区别?和bar/foo以及选择了哪一个。基本上,除非您在xsl:template上指定优先级声明,事物匹配的顺序由5.5ConflictResolutio

xml - 如何在 XSLT 中使用字符映射?

我有这个XSLT样式表:123abc无论我如何尝试,字符映射似乎都不起作用。有人可以告诉我如何让它工作吗?我错过了什么吗? 最佳答案 您已经定义了一个字符映射表,但您没有使用它。尝试:123abc 关于xml-如何在XSLT中使用字符映射?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25830205/

xml - XSLT - 根据条件修改元素兄弟的值

MarshallMarylandMarshallsD1ChemistryHenryCarlD2Science-PhysicsMartinSeanD3Science-BotanySusanneCharlesD4Science-ChemistryHenryCarl从上面的xml中,如果城市是Marshal,学校名称是Marshalls,则检查两个部门名称Chemistry和Science-Chemistry是否存在,如果为真,则删除化学部门元素。如果Science-Chemistry不存在,则修改Chemistry部门的值DeptCode为4,DeptName为Science-Chemis